using System;
using System.Collections;
using Curriculum.DataAccess.Server;
using Curriculum.Db4oHttpModule;
using Curriculum.Manejadores;
using Curriculum.Metadatos.ClasesMetadatos;
using Utiles;

namespace Actualizacion
{
	/// <summary>
	/// Summary description for ActualizadorAntecedentesXML.
	/// </summary>
	public class ActualizadorAntecedentesXML : Actualizador
	{
		public ActualizadorAntecedentesXML()
		{}

		public void Ejecutar()
		{
			EstructuraDbToXML();
		}

		public string GetMensajeOk()
		{
			return "Antecedentes XML Actualizados Correctamente";
		}

		private void EstructuraDbToXML()
		{
			AntecedenteMetadato anteMetaRaiz = new AntecedenteMetadato();
			IList antecedentesHuerfanos	= new ObjectServer(Db4oHttpModule.Client).GetAntecedentesMetadatoHuerfanos();
			((ArrayList)antecedentesHuerfanos).Sort(new GenericComparer("Id", true));
	
			anteMetaRaiz.AntecedenteMetadatos = new AntecedenteMetadato[antecedentesHuerfanos.Count];
			antecedentesHuerfanos.CopyTo(anteMetaRaiz.AntecedenteMetadatos,0);

			ManejadorAntecedentesMetadatos manejador = ManejadorAntecedentesMetadatos.GetInstancia("");
			manejador.Estructura = anteMetaRaiz;
			manejador.GuardarEstructuraEnXML();
		}

	}
}
